Micron Document
Livres et Wikis | Archives | Info


Extract-transform-load
layout: Wide · Narrow · Centered
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Extract-transform-load (extraction, transformation et chargement) est une technologie informatique intergicielle permettant d'effectuer des synchronisations massives d'information d'une source de données (le plus souvent une base de données) vers une autre. Cette technologie est connue sous le sigle ETL, ou extracto-chargeur. Selon le contexte, il s'agit d'exploiter différentes fonctions, souvent combinées entre elles : « extraction », « transformation », « constitution » ou « conversion », « alimentation » ou « chargement ».

Contents

‱ Extraction
‱ Chargement
‱ Pilotage
‱ Avantages
‱ Voir aussi

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Organisation et Historique

Cette technologie repose sur :

‱ des connecteurs servant Ă  exporter ou importer les donnĂ©es dans les applications (ex. : connecteur Oracle ou SAP
) ;
‱ des transformateurs qui manipulent les donnĂ©es (agrĂ©gations, filtres, conversions
) ;
‱ et des mises en correspondance (mappages). L'objectif est l'intĂ©gration ou la rĂ©exploitation de donnĂ©es d'un rĂ©servoir source dans un rĂ©servoir cible.

À l'origine, les solutions d'ETL sont apparues pour le chargement rĂ©gulier de donnĂ©es agrĂ©gĂ©es dans les entrepĂŽts de donnĂ©es, avant de se diversifier vers les autres domaines logiciels. Ces solutions sont largement utilisĂ©es dans le monde bancaire et financier, ainsi que dans l'industrie, au vu de la multiplication des nombreuses interfaces.

Des technologies complémentaires sont apparues par la suite : l'intégration d'applications d'entreprise, puis l'ESB (enterprise service bus).

Il existe également des solutions d'ETL de contenu permettant de manipuler des données non structurées ou faiblement structurées, tels que les dossiers ou les documents. Ces solutions sont utilisées pour des projets de migration de documents. Par exemple, lors de migration de documents d'une application GED vers une autre. Leur champ d'application peut également s'étendre à des projets d'archivage électronique.

Ces outils d'ETL sont également exploitables pour la manipulation de données non ou faiblement structurées dans le cadre de la fouille de textes.

Enfin, un extract load transform (ELT) est un ETL particulier qui n'utilise pas de moteur pour effectuer la transformation des données, mais d'autres systÚmes capables de faire de la transformation (e.g. bases de données sources ou cibles). C'est le cas d'outils comme Fivetran ou Streams by Datanexions.

Fonctionnement du processus ETL

Extraction

L'objectif d'ETL est de produire des donnĂ©es propres, faciles d'accĂšs et qui peuvent ĂȘtre exploitĂ©es efficacement par l'analytique, l'informatique dĂ©cisionnelle et/ou les opĂ©rations commercialescite-ref-talend-1-0[1]. Les donnĂ©es brutes peuvent ĂȘtre extraites de diffĂ©rentes sources, en particulier :

‱ bases de donnĂ©es existantes ;
‱ logs d'activitĂ© (trafic rĂ©seau, rapports d'erreurs, etc.) ;
‱ comportement, performances et anomalies des applications ;
‱ Ă©vĂ©nements de sĂ©curitĂ© ;
‱ autres opĂ©rations qui doivent ĂȘtre dĂ©crites aux fins de conformitĂ©.

Les données extraites sont parfois stockées dans un emplacement tel qu'un data lake ou un data warehouse.

Transformation

L'étape de transformation du processus ETL est celle des opérations les plus essentielles[pas clair]. L'opération la plus importante de l'étape de transformation consiste à appliquer aux données brutes les rÚgles internes de l'entreprise de maniÚre à répondre aux exigences en matiÚre de reporting : les données brutes sont nettoyées et converties aux formats de rapport qui conviennent (si les données ne sont pas nettoyées, il devient plus difficile d'appliquer les rÚgles internes de reporting).

La transformation applique les rÚgles définies en interne. Les normes qui garantissent la qualité des données et leur accessibilité doivent tenir compte des pratiques suivantes :

‱ Standardisation : DĂ©finir les donnĂ©es Ă  traiter, leur format et leur mode de stockage ainsi que d'autres considĂ©rations de base qui dĂ©finiront les Ă©tapes qui suivent.
‱ DĂ©duplication : Transmettre un rapport sur les doublons aux personnes chargĂ©es de la gouvernance des donnĂ©es ; exclure et/ou supprimer les donnĂ©es redondantes
‱ VĂ©rification : Effectuer des vĂ©rifications automatisĂ©es pour comparer des donnĂ©es similaires telles que durĂ©e de transaction ou suivi des accĂšs. Les tĂąches de vĂ©rification permettent d'Ă©liminer les donnĂ©es inutilisables et de signaler les anomalies des systĂšmes, des applications ou des donnĂ©es.
‱ Tri : Maximiser l'efficacitĂ© des data Warehouse en regroupant et stockant les objets par catĂ©gorie (donnĂ©es brutes, donnĂ©es audio, mails, etc.). Vos rĂšgles de transformation ETL conditionnent la catĂ©gorisation de chaque objet et sa prochaine destination. Le processus ETL est parfois utilisĂ© pour gĂ©nĂ©rer des tables d'agrĂ©gation qui sont ensuite proposĂ©es dans des rapports de base ; dans ce cas, vous devez trier puis agrĂ©ger les donnĂ©es.
‱ Autres tĂąches : TĂąches dont vous avez besoin et que vous dĂ©finissez et paramĂ©trez de telle sorte qu'elles s'exĂ©cutent en mode automatique

Chargement

La derniÚre étape du processus ETL standard consiste à charger les données extraites et transformées dans leur nouvel emplacement. En général, les entrepÎts de données supportent deux modes pour le chargement des données : chargement complet (on recharge l'integralité des données) et chargement incrémental (seules les derniÚres données sont chargées).

Pilotage

Le traitement ETL (cycle ponctuel ou programme de cycles) peut ĂȘtre lancĂ© en ligne de commande ou via une interface graphique. Mais il y a certains points Ă  surveiller. La gestion des exceptions, par exemple, peut ĂȘtre un processus trĂšs lourd. Dans bien des cas, la gĂ©nĂ©ration des extraits de donnĂ©es peut Ă©chouer si un ou plusieurs systĂšmes sont en panne. Si un systĂšme contient des donnĂ©es incorrectes, celles-ci peuvent avoir un impact sur les donnĂ©es extraites d'un autre systĂšme ; autrement dit, la supervision et le traitement des erreurs sont des activitĂ©s essentielles.

Les principaux usages de l'ETL

Dans la plupart des activitĂ©s de l'entreprise, les donnĂ©es jouent un rĂŽle essentiel : pour rĂ©aliser leur potentiel de valeur, elles doivent ĂȘtre dĂ©placĂ©es et prĂ©parĂ©es pour exploitation, et ces opĂ©rations exigent les processus ETL. Exemples de cas d'usage pour les outils ETLcite-ref-talend-1-1[1] :

‱ Migrer des donnĂ©es d'une application Ă  une autre.
‱ RĂ©pliquer des donnĂ©es pour la sauvegarde ou l'analyse des redondances.
‱ Processus opĂ©rationnels tels que la migration des donnĂ©es d'un systĂšme CRM vers un gisement opĂ©rationnel ODS (Operational Data Store) afin d'amĂ©liorer ou d'enrichir les donnĂ©es, puis de les replacer dans le CRM.
‱ Stocker les donnĂ©es dans un data Warehouse avant de les importer, les trier et les transformer dans un environnement d'informatique dĂ©cisionnelle.
‱ Migrer des applications on-premises vers des infrastructures cloud, cloud hybride ou multi-cloud.
‱ Synchronisation des systùmes critiques.

Performances et limites

Performances et limitescite-ref-2[2] :

Avantages

‱ OptimisĂ© pour la structure de l’entrepĂŽt de donnĂ©es
‱ Peut traiter de grandes quantitĂ©s de donnĂ©es dans une mĂȘme exĂ©cution (traitement en lot)
‱ Permet des transformations complexes et agrĂ©gations sur les donnĂ©es
‱ La cĂ©dule d’exĂ©cution peut ĂȘtre contrĂŽlĂ©e par l’administrateur
‱ La disponibilitĂ© d’outils GUI sur le marchĂ© permet d’amĂ©liorer la productivitĂ©
‱ Permet la rĂ©utilisation des processus et transformations (ex : packages dans SSIS)

Inconvénients

‱ Processus de dĂ©veloppement long et coĂ»teux
‱ Gestion des changements nĂ©cessaire
‱ Exige de l’espace disque pour effectuer les transformations (staging area)
‱ ExĂ©cutĂ© indĂ©pendamment du besoin rĂ©el
‱ Latence des donnĂ©es entre la source et l’entrepĂŽt
‱ Unidirectionnel (des sources vers l’entrepĂŽt de donnĂ©es)

La diffĂ©rence entre l’ETL et EAI

Définition EAI

L’EAI, ou Enterprise Application Integration (en français, l’intĂ©gration des applications d’entreprise), dĂ©signe un processus en cours depuis de nombreuses annĂ©es, l’intĂ©gration d’applications variĂ©es aïŹn qu’elles puissent partager librement l’information et les traitementscite-ref-3[3]. L’EAI est sous le feu des projecteurs des fournisseurs de logiciels et des analystes et permet enïŹn de rĂ©gler un problĂšme qui coĂ»te aux trĂšs grandes entreprises 100 milliards de dollars par an[rĂ©f. nĂ©cessaire].

Enterprise Application Integration (EAI) pour le terme consacré en anglais, est aussi appelé Echanges Inter-applicatifs de Données en français. Ce terme désigne une architecture SI qui permet à plusieurs logiciels de communiquer entre eux et de gérer les différents échanges. On parle aussi de gestion des flux inter-applicatifs. Par raccourci, les outils logiciels utilisés pour réaliser ces architectures EAI sont eux aussi appelés « logiciels EAI ».

Un logiciel EAI permet de se connecter Ă  tout type de sources de donnĂ©es, d’en extraire des donnĂ©es, de manipuler ces donnĂ©es, de structurer ces donnĂ©es puis de les dĂ©poser dans toutes autres structures de donnĂ©es. L’exĂ©cution de ces manipulations et la synchronisation de donnĂ©es est programmable et dĂ©clenchĂ©e par tout type d’évĂšnementscite-ref-4[4].

Comparaison ETL / EAI

L’ETL est une technique d’intĂ©gration de donnĂ©es comme l’EAI. Les produits d’EAI sont orientĂ©s Ă©vĂ©nements et supportent des traitements de type transactionnel, que l’ETL ne supporte pas. En revanche, l’ETL permet des transformations beaucoup plus complexes. Certains Ă©diteurs de produits d’EAI et d’ETL deviennent partenaires, et on se dirige vers des solutions oĂč l’EAI capture les donnĂ©es et les Ă©vĂ©nements des applications en temps rĂ©el et les passe Ă  l’outil ETL qui transforme les donnĂ©es et les charge dans l’environnement d'informatique dĂ©cisionnelle.

| Comparaison générale ETL/EAI | ETL |
|---|---|
| Mode principal | Lot |
| Orientation | Données |
| Volumétrie | potentiellement forte (ex 15 000 000 de
 |
| Sources / Cibles | ↔ SGBD , ← ODS , ↔ entrepĂŽts de donnĂ©es
 |

| Comparaison générale ETL/EAI | EAI |
|---|---|
| Mode principal | Flux (pseudo temps-réel) |
| Orientation | Métier |
| Volumétrie | relativement faible (ex. 100 000 lignes) |
| Sources / Cibles | ↔inter-application au sens large |

ETL virtuel

En 2010, la virtualisation de donnĂ©es a commencĂ© Ă  avancer le traitement ETL. L'application de la virtualisation de donnĂ©es ETL a permis de rĂ©soudre les tĂąches les plus courantes ETL de migration des donnĂ©es et l’intĂ©gration des applications pour de multiples sources de donnĂ©es dispersĂ©es. Virtual ETL fonctionne avec la reprĂ©sentation abstraite des objets ou des entitĂ©s recueillies Ă  partir de la variĂ©tĂ© des relationnelles, semi-structurĂ©s et des sources de donnĂ©es non structurĂ©es. Outils ETL peuvent tirer parti de la modĂ©lisation orientĂ©e objet et travailler avec les reprĂ©sentations des entitĂ©s constamment stockĂ©es dans un emplacement central hub-and-spoke architecture. Une telle collection qui contient des reprĂ©sentations des entitĂ©s ou des objets recueillis Ă  partir des sources de donnĂ©es pour le traitement ETL est appelĂ© un rĂ©fĂ©rentiel de mĂ©tadonnĂ©es et il peut rĂ©sider dans la mĂ©moire ou ĂȘtre fait persistante. En utilisant un rĂ©fĂ©rentiel de mĂ©tadonnĂ©es persistantes, les outils ETL peuvent passer des projets ponctuels Ă  middleware persistant, d’effectuer l’harmonisation et des donnĂ©es de profilage des donnĂ©es de maniĂšre cohĂ©rente et en temps quasi-rĂ©el.

Voir aussi
Notes et références

cite-note-talend-11. « ETL (Extract, Transform, Load) – PrĂ©sentation gĂ©nĂ©rale », sur Talend Real-Time Open Source Data Integration Software (consultĂ© le 19 fĂ©vrier 2020)
cite-note-22. ↑ https://cours.etsmtl.ca/mti820/public_docs/acetates/MTI820-Acetates-ETL_1pp.pdf
cite-note-33. ↑ « Documentation scientifique et technique, conseil et formation | Techniques de l’IngĂ©nieur », sur www.techniques-ingenieur.fr (consultĂ© le 19 fĂ©vrier 2020)
cite-note-44. ↑ 2019« Qu'est-ce qu'un EAI - Enterprise Application Integration | Tenor EDI », sur Tenor EDI Services, votre prestataire de solutions EDI, EAI et DĂ©matĂ©rialisation, 11 mars 2019 (consultĂ© le 18 mai 2021)
cite-note-51. « Les Ă©tapes de rĂ©alisation d’un projet », dans L'apprentissage par projet, Presses de l'UniversitĂ© du QuĂ©bec (ISBN 978-2-7605-1795-0, lire en ligne), p. 91–150

‱ Portail de l’informatique
‱ Portail des donnĂ©es